package com.workcell.workdata.im.service;

import com.workcell.workdata.im.entity.Chat;
import com.workcell.workdata.im.entity.Message;
import com.workcell.workdata.im.model.vo.ChatVO;

import java.util.List;
import java.util.Map;

public interface ChatService {


    /**
     * 保存会话
     * @param chat
     */
    void save(Chat chat);


    /**
     * 查询会话
     * @param uid
     * @return
     */
    List<ChatVO> getList(Long uid);


    /**
     *查询群聊消息
     * @param chatId
     * @return
     */
    List<Map<String,Object>> groupMessageList(Long chatId);


    /**
     * 查询单聊记录
     * @param sender
     * @param receiver
     * @return
     */
    List<Map<String,Object>> ChatMessageList(long sender,long receiver);


    /**
     * 查询分组ID
     * @param groupId
     * @return
     */
    List<Map<String,Object>> findGroupMemberList(Long groupId);


    /**
     * 查询群信息
     * @param chatId
     * @return
     */
    Map<String,Object> findGroupInfo(Long chatId);

    /**
     * 查询用户ID
     * @param id
     * @return
     */
    Map<String,Object> findUserInfo(Long id);

    /**
     * 修改会话状态
     * @param chat
     */
    void update(Chat chat);


    /**
     * 群消息
     * @param groupId
     * @return
     */
    List<Message> groupMessage(long groupId);



}
